package com.jumi.microservice.dto.order;

import com.jumi.microservice.common.base.dto.BaseResponse;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author Dirk
 * @Date 2020-07-08 16:23
 */
public class OrderResponse extends BaseResponse {
    private static final long serialVersionUID = -5433898985358464714L;
    @ApiModelProperty("订单id")
    private Integer orderId = 0;

    @ApiModelProperty("订单编号")
    private String orderNo = "";

    @ApiModelProperty("订单状态")
    private Byte orderStatus = 0;

    @ApiModelProperty("商品列表")
    private List<GoodsSkuResponse> goodsList = new ArrayList<>();

    @ApiModelProperty("订单团购价")
    private BigDecimal orderPromotionAmount = BigDecimal.ZERO;

    @ApiModelProperty("订单会员价")
    private BigDecimal orderAmount = BigDecimal.ZERO;

    @ApiModelProperty("运费")
    private BigDecimal freightFee = BigDecimal.ZERO;

    @ApiModelProperty("支付金额")
    private BigDecimal payAmount = BigDecimal.ZERO;

    @ApiModelProperty("支付渠道")
    private Byte payChannel = 0;

    @ApiModelProperty("支付时间")
    private Date payTime;

    @ApiModelProperty("收件人姓名")
    private String receiverName = "";

    @ApiModelProperty("收货人手机号")
    private String receiverPhone = "";

    @ApiModelProperty("收货人地址")
    private String receiverAddress = "";

    @ApiModelProperty("备注")
    private String remarks = "";

    @ApiModelProperty("是否已评价")
    private Byte commentFlag = 0;

    @ApiModelProperty("发票ID")
    private Integer invoiceId = 0;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("售后状态 0 不显示 1 申请售后 2 售后详情")
    private Byte afterSealStatus = 0;

    @ApiModelProperty("待支付剩余秒数")
    private Long remainSeconds;

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Byte getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Byte orderStatus) {
        this.orderStatus = orderStatus;
    }

    public List<GoodsSkuResponse> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<GoodsSkuResponse> goodsList) {
        this.goodsList = goodsList;
    }

    public BigDecimal getOrderPromotionAmount() {
        return orderPromotionAmount;
    }

    public void setOrderPromotionAmount(BigDecimal orderPromotionAmount) {
        this.orderPromotionAmount = orderPromotionAmount;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getFreightFee() {
        return freightFee;
    }

    public void setFreightFee(BigDecimal freightFee) {
        this.freightFee = freightFee;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public Byte getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(Byte payChannel) {
        this.payChannel = payChannel;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getReceiverPhone() {
        return receiverPhone;
    }

    public void setReceiverPhone(String receiverPhone) {
        this.receiverPhone = receiverPhone;
    }

    public String getReceiverAddress() {
        return receiverAddress;
    }

    public void setReceiverAddress(String receiverAddress) {
        this.receiverAddress = receiverAddress;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Byte getCommentFlag() {
        return commentFlag;
    }

    public void setCommentFlag(Byte commentFlag) {
        this.commentFlag = commentFlag;
    }

    public Integer getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(Integer invoiceId) {
        this.invoiceId = invoiceId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Byte getAfterSealStatus() {
        return afterSealStatus;
    }

    public void setAfterSealStatus(Byte afterSealStatus) {
        this.afterSealStatus = afterSealStatus;
    }

    public Long getRemainSeconds() {
        return remainSeconds;
    }

    public void setRemainSeconds(Long remainSeconds) {
        this.remainSeconds = remainSeconds;
    }
}
